השלב הראשון הוא ראיון של כשעה. מתחיל כראיון קצר אישי ואז שואלים 3 שאלות קצרות.
שאלות מתוך הראיון
1) נתון מצביע לראש רשימה מקושרת חד כיוונית ומספר שלם חיובי X. תאר אלגוריתם שמחזיר את האיבר ה-X מהסוף ברשימה.
2) נתון מערך שבו מספרים שלמים (חיוביים ושליליים). מובטח שבמערך יש לפחות מספר חיובי אחד (<0). כתוב אלגוריתם שמוצא את תת-המערך שבו הסכום מקסימלי ב-O(n) סיבוכיות זמן (n=גודל המערך) ותוך שימוש בסיבוכיות מקום קבועה.
3) נתון לוח משחק צוללות (מערך דו-ממדי, 0 אם אין צוללת ו-1 אם יש). צוללת יכולה להיות מכל גודל (החל מאורך של 1). אין חפיפה בין צוללות ולא יכולות להיות 2 צוללות צמודות זו לזו בלוח. תאר אלגוריתם בסיבוכיות O(n*m) כאשר n*m זה גודל הלוח, שמחזיר את מספר הצוללות שיש כרגע בלוח. יש להשתמש בסיבוכיות מקום קבועה ואין לשנות את המערך הנתון.
- שאלה שמציגה מערך ומבקשת פתרון שיאפשר למצוא את האיבר ה - x מסוף המערך.
- שאלה שבה נתון מערך שמכיל מספרים חיוביים ושליליים עם לפחות מספר חיובי אחד.
השאלה מבקשת להציע פתרון שיאפשר למצוא תת מערך (רציף) שייתן סכום מקסימלי.
2 ראיונות,
הראשון מול ראש צוות.
השני מול "סמנ"כל" כלשהו.
שאלות מתוך הראיון
ישנה פונקציה המקבלת משתנה integer היכול לקבל את הערכים 2,4,7,9.
ממש את הפונקציה כך שתבצע קריאה לפונקציה חדשה: function1,function2,function3,function4 בהתאם לערך משתנה הכניסה (בהתאמה) - ללא התניות if\case וכו'
*ערכי משתנה הכניסה ידועים מראש
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2017
ניתן להגדיר בתחילת הפונקציה מערך של כתובות בגודל הערך המקסימלי של המשתנה. ובכל מקום רלוונטי במערך נשמור את כתובת הפונקציה הרלוונטית. לדוגמא, האיבר ב7 במערך יכיל את כתובת הפונקציה function 3 וכן הלאה.